x86: make page table unpinning preemptible
authorJan Beulich <jbeulich@suse.com>
Thu, 2 May 2013 14:39:06 +0000 (16:39 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 2 May 2013 14:39:06 +0000 (16:39 +0200)
commita3e049f8e86fe18e3b87f18dc0c7be665026fd9f
tree8916d16e86cdefada74e050c0ffaf145f47439eb
parent99d2b149915010e986f4d8778708c5891e7b4635
x86: make page table unpinning preemptible

... as it may take significant amounts of time.

Since we can't re-invoke the operation in a second attempt, the
continuation logic must be slightly tweaked so that we make sure
do_mmuext_op() gets run one more time even when the preempted unpin
operation was the last one in a batch.

This is part of CVE-2013-1918 / XSA-45.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm.c
xen/arch/x86/x86_64/compat/mm.c